﻿/*
 * Plugin metadata definition
 *
 */

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace Snowdreamist.Runtime
{
    public interface IPluginMetadata
    {
        /// <summary>
        /// GUID (in string format)
        /// This property is necessary
        /// MEF don't support Guid Type as metadata
        /// </summary>
        string ID { get; }

        /// <summary>
        /// Name
        /// </summary>
        [DefaultValue("Default Name")]
        string Name { get; }

        /// <summary>
        /// Description
        /// </summary>
        [DefaultValue("None Description")]
        string Description { get; }

        /// <summary>
        /// Author
        /// </summary>
        [DefaultValue("Unknown Author")]
        string Author { get; }

        /// <summary>
        /// Version
        /// </summary>
        [DefaultValue("Unknown Version")]
        string Version { get; }

        /// <summary>
        /// Website
        /// </summary>
        [DefaultValue("")]
        string Website { get; }
    }
}